A post-compilation register re-assignment technique for improving hamming distance based code compression
نویسندگان
چکیده
Code compression is a field where compression ratios between compiler-generated code and subsequent compressed code are highly dependent on decisions made at compile time. Most optimizations employed by compilers tend to focus on parameters such as program performance, minimizing resource dependencies and sometimes the option of reducing code size. This paper describes a post-compilation technique for the greedy reassignment of general purpose scratch registers to improve Hamming distance based code compression. The code translation renumbers registers based on the frequency of registers used by isomorphic instructions and employs a Gray coding scheme to reduce Hamming distances between similar instructions. Register reassignment has been successfully implemented in areas where the compiler optimizations do not include a particular metric, for example, power savings. Pro-gram values can be reassigned register numbers that reduce overall power consumption of the address bus and register file decoder, at no cost to code size or performance. The application of the register reassignment technique in this paper reduced the number of dictionary vectors required by a program on average by 9.74%. Code compression ratios of register-reassigned binaries were consistently around 3-4% (of original program size) lower than code compression applied to original binaries, with the highest such reduction at nearly 7%. General purpose register reassignment is a technique that allows for gains in compression efficiency with no penalty in hardware. Other techniques that could be trialed include commutative register switching, dead register detection and assignment and complete register reallocation.
منابع مشابه
On the inverse maximum perfect matching problem under the bottleneck-type Hamming distance
Given an undirected network G(V,A,c) and a perfect matching M of G, the inverse maximum perfect matching problem consists of modifying minimally the elements of c so that M becomes a maximum perfect matching with respect to the modified vector. In this article, we consider the inverse problem when the modifications are measured by the weighted bottleneck-type Hamming distance. We propose an alg...
متن کاملTitle omitted for double-blind reasons
Recent results on the static single assignment (SSA) form open promising directions for the design of new register allocation heuristics for just-in-time (JIT) compilation. In particular, heuristics based on tree scans with two decoupled phases, one for spilling, one for splitting/coloring/coalescing, seem good candidates for designing memory-friendly, fast, and competitive register allocators....
متن کاملAnalysis of Don’t Care Bit Filling Techniques for Optimization of Compression and Scan Power
Test power and test time have been the major issues for current scenario of VLSI testing. The test data compression is the well known method used to reduce the test time. The don’t care bit filling method can be used for effective test data compression as well as reduction in scan power. In this paper we describe the algorithm for don’t care assignment like MT(Minimum Transition)-fill technique...
متن کاملIncremental Compiler Transformations for Multiple Instruction Retry
Previous work on compiler-based multiple instruction retry has utilized a series of compiler transformations, loop protection, node splitting, and loop expansion, to eliminate anti-dependencies of length ≤ N in the pseudo register, the machine register, and the post-pass resolver phases of compilation. The results have provided a means of rapidly recovering from transient processor failures by ...
متن کاملAssessment of Weighting Functions Used in Oppermann Codes in Polyphase Pulse Compression Radars
Polyphase is a common class of pulse compression waveforms in the radar systems. Oppermann code is one of the used codes with polyphone pattern. After compression, this code has little tolerant against Doppler shift in addition to its high side lobe level. This indicates that the use of Oppermann code is an unsuitable scheme to radars applications. This paper shows that the use of amplitude wei...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2017